/**
 * Yolema.com Inc.
 * Copyright (c) 2011-2012 All Rights Reserved.
 */
package org.grayrabbit.pay.core.dao.system;

import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import org.grayrabbit.commons.dao.mybatis.BaseDao;
import org.grayrabbit.pay.core.model.entity.system.AssAppsystemTradeterminal;

/**
 * 
 * 
 * @author liyd
 * @version $Id: AssAppsystemTradeterminalDao.java, v 0.1 Fri Jun 01 11:14:02 CST 2012 liyd Exp $
 */
public interface AssAppsystemTradeterminalDao extends BaseDao<AssAppsystemTradeterminal, Integer> {

    /**
     * 查询业务对象分页列表
     * 
     * @param params
     * @return
     */
    public List<AssAppsystemTradeterminal> queryPageList(Map<String, Object> params);

    /**
     * 查询业务对象记录数
     * 
     * @param params
     * @return
     */
    public int queryCount(Map<String, Object> params);

    /**
     * 根据Id得到实体对象
     * 
     * @param id
     * @return
     */
    public AssAppsystemTradeterminal getById(Long id);

    /**
     * 根据系统id得到所有的终端id
     * @param id
     * @return
     */
    public List<Long> getBySystemId(Long id);

    /**
     * 根据终端id得到所有的系统id
     * @param id
     * @return
     */
    public List<Long> getByTerminalId(Long id);

    /**
     * 根据id批量删除
     * 
     * @param idArray
     */
    public void deleteBatchById(@Param(value = "idArray") Long[] idArray);

    /**
     * 根据系统id删除与终端间的关联记录
     * @param systemId
     */
    public void deleteBatchBySystemId(Long systemId);

    /**
     * 根据系统id列表删除与终端间的关联记录
     * @param idArray
     */
    public void deleteBatchBySystemIds(@Param(value = "idArray") Long[] idArray);

    /**
     * 插入
     * @param assAppsystemTradeterminal
     */
    public void save(AssAppsystemTradeterminal assAppsystemTradeterminal);

}
